\section{NFcore::TransformationFactory Class Reference}
\label{classNFcore_1_1TransformationFactory}\index{NFcore::TransformationFactory@{NFcore::TransformationFactory}}
{\tt \#include $<$transformation.hh$>$}



\subsection{Detailed Description}
Static object that generates transformations with the given sites. \begin{Desc}
\item[Author:]Michael Sneddon \end{Desc}
\subsection*{Static Public Member Functions}
\begin{CompactItemize}
\item 
static {\bf Transformation} $\ast$ {\bf genStateChangeTransform} (unsigned int cIndex, int newValue)
\item 
static {\bf Transformation} $\ast$ {\bf genBindingTransform1} (unsigned int bSiteIndex, unsigned int otherReactantIndex, unsigned int otherMappingIndex)
\item 
static {\bf Transformation} $\ast$ {\bf genBindingSeparateComplexTransform1} (unsigned int bSiteIndex, unsigned int otherReactantIndex, unsigned int otherMappingIndex)
\item 
static {\bf Transformation} $\ast$ {\bf genBindingTransform2} (unsigned int bSiteIndex)
\item 
static {\bf Transformation} $\ast$ {\bf genUnbindingTransform} (unsigned int bSiteIndex)
\item 
static {\bf AddSpeciesTransform} $\ast$ {\bf genAddSpeciesTransform} ({\bf SpeciesCreator} $\ast$sc)
\item 
static {\bf AddMoleculeTransform} $\ast$ {\bf genAddMoleculeTransform} ({\bf MoleculeCreator} $\ast$mc)
\item 
static {\bf Transformation} $\ast$ {\bf genRemoveMoleculeTransform} (int removalType)
\item 
static {\bf Transformation} $\ast$ {\bf genEmptyTransform} ()
\item 
static {\bf Transformation} $\ast$ {\bf genIncrementStateTransform} (unsigned int cIndex)
\item 
static {\bf Transformation} $\ast$ {\bf genDecrementStateTransform} (unsigned int cIndex)
\item 
static {\bf Transformation} $\ast$ {\bf genDecrementPopulationTransform} ()
\item 
static {\bf Transformation} $\ast$ {\bf genLocalFunctionReference} (string PointerName, int type, {\bf TemplateMolecule} $\ast$tm)
\end{CompactItemize}
\subsection*{Static Public Attributes}
\begin{CompactItemize}
\item 
static const int {\bf COMPLETE\_\-SPECIES\_\-REMOVAL} = 0
\item 
static const int {\bf DELETE\_\-MOLECULES} = 1
\item 
static const int {\bf DELETE\_\-MOLECULES\_\-NO\_\-KEYWORD} = 2
\item 
static const unsigned int {\bf STATE\_\-CHANGE} = 0
\item 
static const unsigned int {\bf BINDING} = 1
\item 
static const unsigned int {\bf UNBINDING} = 2
\item 
static const unsigned int {\bf REMOVE} = 3
\item 
static const unsigned int {\bf ADD} = 4
\item 
static const unsigned int {\bf EMPTY} = 5
\item 
static const unsigned int {\bf INCREMENT\_\-STATE} = 6
\item 
static const unsigned int {\bf DECREMENT\_\-STATE} = 7
\item 
static const unsigned int {\bf LOCAL\_\-FUNCTION\_\-REFERENCE} = 8
\item 
static const unsigned int {\bf INCREMENT\_\-POPULATION} = 9
\item 
static const unsigned int {\bf DECREMENT\_\-POPULATION} = 10
\end{CompactItemize}


\subsection{Member Function Documentation}
\index{NFcore::TransformationFactory@{NFcore::TransformationFactory}!genStateChangeTransform@{genStateChangeTransform}}
\index{genStateChangeTransform@{genStateChangeTransform}!NFcore::TransformationFactory@{NFcore::TransformationFactory}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf NFcore::Transformation} $\ast$ TransformationFactory::genStateChangeTransform (unsigned int {\em cIndex}, int {\em newValue})\hspace{0.3cm}{\tt  [static]}}\label{classNFcore_1_1TransformationFactory_c8a9523b24c856ab84f106a8740d2baf}


Generates a state change \doxyref{Transformation}{p.}{classNFcore_1_1Transformation} for transforming the given state at the given index into the new state value. \begin{Desc}
\item[Author:]Michael Sneddon \end{Desc}
\index{NFcore::TransformationFactory@{NFcore::TransformationFactory}!genBindingTransform1@{genBindingTransform1}}
\index{genBindingTransform1@{genBindingTransform1}!NFcore::TransformationFactory@{NFcore::TransformationFactory}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf NFcore::Transformation} $\ast$ TransformationFactory::genBindingTransform1 (unsigned int {\em bSiteIndex}, unsigned int {\em otherReactantIndex}, unsigned int {\em otherMappingIndex})\hspace{0.3cm}{\tt  [static]}}\label{classNFcore_1_1TransformationFactory_b43cb8fbbaa03e4edd9366bc922f9c2c}


Generates a binding transformation for one of the two binding sites in the binding Transform. You will have to tell it where the other \doxyref{Transformation}{p.}{classNFcore_1_1Transformation} object lives (\doxyref{TransformationSet}{p.}{classNFcore_1_1TransformationSet} has this information). \begin{Desc}
\item[Author:]Michael Sneddon \end{Desc}
\index{NFcore::TransformationFactory@{NFcore::TransformationFactory}!genBindingSeparateComplexTransform1@{genBindingSeparateComplexTransform1}}
\index{genBindingSeparateComplexTransform1@{genBindingSeparateComplexTransform1}!NFcore::TransformationFactory@{NFcore::TransformationFactory}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf NFcore::Transformation} $\ast$ TransformationFactory::genBindingSeparateComplexTransform1 (unsigned int {\em bSiteIndex}, unsigned int {\em otherReactantIndex}, unsigned int {\em otherMappingIndex})\hspace{0.3cm}{\tt  [static]}}\label{classNFcore_1_1TransformationFactory_275722d56c36dfe9be8e8cca8fcc4fab}


\index{NFcore::TransformationFactory@{NFcore::TransformationFactory}!genBindingTransform2@{genBindingTransform2}}
\index{genBindingTransform2@{genBindingTransform2}!NFcore::TransformationFactory@{NFcore::TransformationFactory}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf NFcore::Transformation} $\ast$ TransformationFactory::genBindingTransform2 (unsigned int {\em bSiteIndex})\hspace{0.3cm}{\tt  [static]}}\label{classNFcore_1_1TransformationFactory_60536e9fb733aa835613410f1cf3ec25}


Generates the second half of a binding transform. The other site already knows about this site, so all you need here is the index of the binding site that must be bonded. \begin{Desc}
\item[Author:]Michael Sneddon \end{Desc}
\index{NFcore::TransformationFactory@{NFcore::TransformationFactory}!genUnbindingTransform@{genUnbindingTransform}}
\index{genUnbindingTransform@{genUnbindingTransform}!NFcore::TransformationFactory@{NFcore::TransformationFactory}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf NFcore::Transformation} $\ast$ TransformationFactory::genUnbindingTransform (unsigned int {\em bSiteIndex})\hspace{0.3cm}{\tt  [static]}}\label{classNFcore_1_1TransformationFactory_6d0b9445e9c48c59f807c727445054ab}


Generates an unbinding transformation for a particular binding site. Only one of the binding sites must be specified as a \doxyref{Transformation}{p.}{classNFcore_1_1Transformation} - the other is automatically taken care of. \begin{Desc}
\item[Author:]Michael Sneddon \end{Desc}
\index{NFcore::TransformationFactory@{NFcore::TransformationFactory}!genAddSpeciesTransform@{genAddSpeciesTransform}}
\index{genAddSpeciesTransform@{genAddSpeciesTransform}!NFcore::TransformationFactory@{NFcore::TransformationFactory}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf NFcore::AddSpeciesTransform} $\ast$ TransformationFactory::genAddSpeciesTransform ({\bf SpeciesCreator} $\ast$ {\em sc})\hspace{0.3cm}{\tt  [static]}}\label{classNFcore_1_1TransformationFactory_d1dbc61c0869543b639948c6aca7407c}


Generates an Add \doxyref{Molecule}{p.}{classNFcore_1_1Molecule} transformation. \begin{Desc}
\item[Author:]Michael Sneddon\end{Desc}
Changes by JustinHogg, 3Mar2011: Unlike other generators, this now returns a specific child class. AddMoleculeTransforms are handled seperately from other transforms, so we don't need to follow the polymorphic interface. Also, we need to call the method \char`\"{}create\_\-and\_\-map\char`\"{} which is specifc to \doxyref{AddMoleculeTransform}{p.}{classNFcore_1_1AddMoleculeTransform}. \index{NFcore::TransformationFactory@{NFcore::TransformationFactory}!genAddMoleculeTransform@{genAddMoleculeTransform}}
\index{genAddMoleculeTransform@{genAddMoleculeTransform}!NFcore::TransformationFactory@{NFcore::TransformationFactory}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf NFcore::AddMoleculeTransform} $\ast$ TransformationFactory::genAddMoleculeTransform ({\bf MoleculeCreator} $\ast$ {\em mc})\hspace{0.3cm}{\tt  [static]}}\label{classNFcore_1_1TransformationFactory_46a9edf522aa36598e1bc4ecd6b67475}


\index{NFcore::TransformationFactory@{NFcore::TransformationFactory}!genRemoveMoleculeTransform@{genRemoveMoleculeTransform}}
\index{genRemoveMoleculeTransform@{genRemoveMoleculeTransform}!NFcore::TransformationFactory@{NFcore::TransformationFactory}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf NFcore::Transformation} $\ast$ TransformationFactory::genRemoveMoleculeTransform (int {\em removalType})\hspace{0.3cm}{\tt  [static]}}\label{classNFcore_1_1TransformationFactory_81d0b2c7cd8efe29ff45333ac16dc657}


Generates a removal of a molecule from the system. The removalType specifies how the molecule should be removed (either everything that is connected, or just the molecules, or just the molecules conditional on how it is connected) \begin{Desc}
\item[Author:]Michael Sneddon \end{Desc}
\index{NFcore::TransformationFactory@{NFcore::TransformationFactory}!genEmptyTransform@{genEmptyTransform}}
\index{genEmptyTransform@{genEmptyTransform}!NFcore::TransformationFactory@{NFcore::TransformationFactory}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf NFcore::Transformation} $\ast$ TransformationFactory::genEmptyTransform ()\hspace{0.3cm}{\tt  [static]}}\label{classNFcore_1_1TransformationFactory_4bcd9f929fb6c17f6935dea191e9e9aa}


Generates an empty transformation. This is used in cases where there is a reactant that is not transformed in a reaction, but that still needs to be counted and marked so that the rate of the reaction is correct. \begin{Desc}
\item[Author:]Michael Sneddon \end{Desc}
\index{NFcore::TransformationFactory@{NFcore::TransformationFactory}!genIncrementStateTransform@{genIncrementStateTransform}}
\index{genIncrementStateTransform@{genIncrementStateTransform}!NFcore::TransformationFactory@{NFcore::TransformationFactory}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf NFcore::Transformation} $\ast$ TransformationFactory::genIncrementStateTransform (unsigned int {\em cIndex})\hspace{0.3cm}{\tt  [static]}}\label{classNFcore_1_1TransformationFactory_250f200fbcc8e794b8b99cc45302ab3b}


Generates an IncrementState transformation. \begin{Desc}
\item[Author:]Michael Sneddon \end{Desc}
\index{NFcore::TransformationFactory@{NFcore::TransformationFactory}!genDecrementStateTransform@{genDecrementStateTransform}}
\index{genDecrementStateTransform@{genDecrementStateTransform}!NFcore::TransformationFactory@{NFcore::TransformationFactory}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf NFcore::Transformation} $\ast$ TransformationFactory::genDecrementStateTransform (unsigned int {\em cIndex})\hspace{0.3cm}{\tt  [static]}}\label{classNFcore_1_1TransformationFactory_eece84f71547208fa9e27ecda1032489}


Generates an DecrementState transformation. \begin{Desc}
\item[Author:]Michael Sneddon \end{Desc}
\index{NFcore::TransformationFactory@{NFcore::TransformationFactory}!genDecrementPopulationTransform@{genDecrementPopulationTransform}}
\index{genDecrementPopulationTransform@{genDecrementPopulationTransform}!NFcore::TransformationFactory@{NFcore::TransformationFactory}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf NFcore::Transformation} $\ast$ TransformationFactory::genDecrementPopulationTransform ()\hspace{0.3cm}{\tt  [static]}}\label{classNFcore_1_1TransformationFactory_c5498f0b27dc9275fe781b54fcdb56d0}


Generates an IncrementPopulation transformation. \begin{Desc}
\item[Author:]Justin Hogg\end{Desc}
Generates an DecrementPopulation transformation. \begin{Desc}
\item[Author:]Justin Hogg \end{Desc}
\index{NFcore::TransformationFactory@{NFcore::TransformationFactory}!genLocalFunctionReference@{genLocalFunctionReference}}
\index{genLocalFunctionReference@{genLocalFunctionReference}!NFcore::TransformationFactory@{NFcore::TransformationFactory}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Transformation} $\ast$ TransformationFactory::genLocalFunctionReference (string {\em PointerName}, int {\em type}, {\bf TemplateMolecule} $\ast$ {\em tm})\hspace{0.3cm}{\tt  [static]}}\label{classNFcore_1_1TransformationFactory_206a59330bba84e1b0131b8b0ba919f4}


Return a pointer to the transformation that is needed by a local function 

\subsection{Member Data Documentation}
\index{NFcore::TransformationFactory@{NFcore::TransformationFactory}!COMPLETE\_\-SPECIES\_\-REMOVAL@{COMPLETE\_\-SPECIES\_\-REMOVAL}}
\index{COMPLETE\_\-SPECIES\_\-REMOVAL@{COMPLETE\_\-SPECIES\_\-REMOVAL}!NFcore::TransformationFactory@{NFcore::TransformationFactory}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const int {\bf NFcore::TransformationFactory::COMPLETE\_\-SPECIES\_\-REMOVAL} = 0\hspace{0.3cm}{\tt  [static]}}\label{classNFcore_1_1TransformationFactory_b78d2938d6417407231887e04cc2de05}


Indicates that a delete transform deletes the entire connected species \index{NFcore::TransformationFactory@{NFcore::TransformationFactory}!DELETE\_\-MOLECULES@{DELETE\_\-MOLECULES}}
\index{DELETE\_\-MOLECULES@{DELETE\_\-MOLECULES}!NFcore::TransformationFactory@{NFcore::TransformationFactory}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const int {\bf NFcore::TransformationFactory::DELETE\_\-MOLECULES} = 1\hspace{0.3cm}{\tt  [static]}}\label{classNFcore_1_1TransformationFactory_9cbb8a75b7e8cea2746b8644006f4c12}


Indicates that a delete transform deletes only the pointed-to molecule \index{NFcore::TransformationFactory@{NFcore::TransformationFactory}!DELETE\_\-MOLECULES\_\-NO\_\-KEYWORD@{DELETE\_\-MOLECULES\_\-NO\_\-KEYWORD}}
\index{DELETE\_\-MOLECULES\_\-NO\_\-KEYWORD@{DELETE\_\-MOLECULES\_\-NO\_\-KEYWORD}!NFcore::TransformationFactory@{NFcore::TransformationFactory}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const int {\bf NFcore::TransformationFactory::DELETE\_\-MOLECULES\_\-NO\_\-KEYWORD} = 2\hspace{0.3cm}{\tt  [static]}}\label{classNFcore_1_1TransformationFactory_55540d69a47fd1afe03fbf7ff9da2da8}


Delete only pointed-to molecules, only if deleting it creates only one remaining species \index{NFcore::TransformationFactory@{NFcore::TransformationFactory}!STATE\_\-CHANGE@{STATE\_\-CHANGE}}
\index{STATE\_\-CHANGE@{STATE\_\-CHANGE}!NFcore::TransformationFactory@{NFcore::TransformationFactory}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const unsigned int {\bf NFcore::TransformationFactory::STATE\_\-CHANGE} = 0\hspace{0.3cm}{\tt  [static]}}\label{classNFcore_1_1TransformationFactory_5b83f8ccba33c9c11d57ccb01eb65b8b}


Indicates a state change transformation or mapping onto a state \index{NFcore::TransformationFactory@{NFcore::TransformationFactory}!BINDING@{BINDING}}
\index{BINDING@{BINDING}!NFcore::TransformationFactory@{NFcore::TransformationFactory}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const unsigned int {\bf NFcore::TransformationFactory::BINDING} = 1\hspace{0.3cm}{\tt  [static]}}\label{classNFcore_1_1TransformationFactory_9d39c00ef66f1a76c2d0d466753382e6}


Indicates a binding transformation or mapping onto a binding site \index{NFcore::TransformationFactory@{NFcore::TransformationFactory}!UNBINDING@{UNBINDING}}
\index{UNBINDING@{UNBINDING}!NFcore::TransformationFactory@{NFcore::TransformationFactory}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const unsigned int {\bf NFcore::TransformationFactory::UNBINDING} = 2\hspace{0.3cm}{\tt  [static]}}\label{classNFcore_1_1TransformationFactory_b7940a37633cc5c84bb5d8e7181cda04}


Indicates an unbinding transformation or mapping onto a binding site \index{NFcore::TransformationFactory@{NFcore::TransformationFactory}!REMOVE@{REMOVE}}
\index{REMOVE@{REMOVE}!NFcore::TransformationFactory@{NFcore::TransformationFactory}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const unsigned int {\bf NFcore::TransformationFactory::REMOVE} = 3\hspace{0.3cm}{\tt  [static]}}\label{classNFcore_1_1TransformationFactory_5a5169186f10927cf62a9a542d1b1b95}


Indicates a removal transform or mapping onto an entire \doxyref{Molecule}{p.}{classNFcore_1_1Molecule} \index{NFcore::TransformationFactory@{NFcore::TransformationFactory}!ADD@{ADD}}
\index{ADD@{ADD}!NFcore::TransformationFactory@{NFcore::TransformationFactory}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const unsigned int {\bf NFcore::TransformationFactory::ADD} = 4\hspace{0.3cm}{\tt  [static]}}\label{classNFcore_1_1TransformationFactory_492322bf2daa6a96dca1bb1b13d7a1d5}


Indicates an addition transform \index{NFcore::TransformationFactory@{NFcore::TransformationFactory}!EMPTY@{EMPTY}}
\index{EMPTY@{EMPTY}!NFcore::TransformationFactory@{NFcore::TransformationFactory}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const unsigned int {\bf NFcore::TransformationFactory::EMPTY} = 5\hspace{0.3cm}{\tt  [static]}}\label{classNFcore_1_1TransformationFactory_6248b102fcc6990bfbca65d3dfa4764e}


Indicates no transformation is needed (or is the second partner in a binding transform and so should be skipped when applying transforms \index{NFcore::TransformationFactory@{NFcore::TransformationFactory}!INCREMENT\_\-STATE@{INCREMENT\_\-STATE}}
\index{INCREMENT\_\-STATE@{INCREMENT\_\-STATE}!NFcore::TransformationFactory@{NFcore::TransformationFactory}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const unsigned int {\bf NFcore::TransformationFactory::INCREMENT\_\-STATE} = 6\hspace{0.3cm}{\tt  [static]}}\label{classNFcore_1_1TransformationFactory_bb9132a59d041a40b6503fffc37e51c5}


Indicates an increment transformation \index{NFcore::TransformationFactory@{NFcore::TransformationFactory}!DECREMENT\_\-STATE@{DECREMENT\_\-STATE}}
\index{DECREMENT\_\-STATE@{DECREMENT\_\-STATE}!NFcore::TransformationFactory@{NFcore::TransformationFactory}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const unsigned int {\bf NFcore::TransformationFactory::DECREMENT\_\-STATE} = 7\hspace{0.3cm}{\tt  [static]}}\label{classNFcore_1_1TransformationFactory_ef1bf254664f1baaa23127355a427fde}


Indicates a decrement transformation \index{NFcore::TransformationFactory@{NFcore::TransformationFactory}!LOCAL\_\-FUNCTION\_\-REFERENCE@{LOCAL\_\-FUNCTION\_\-REFERENCE}}
\index{LOCAL\_\-FUNCTION\_\-REFERENCE@{LOCAL\_\-FUNCTION\_\-REFERENCE}!NFcore::TransformationFactory@{NFcore::TransformationFactory}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const unsigned int {\bf NFcore::TransformationFactory::LOCAL\_\-FUNCTION\_\-REFERENCE} = 8\hspace{0.3cm}{\tt  [static]}}\label{classNFcore_1_1TransformationFactory_2082f8fc11ff7315d0454c2bf61bf0e4}


\index{NFcore::TransformationFactory@{NFcore::TransformationFactory}!INCREMENT\_\-POPULATION@{INCREMENT\_\-POPULATION}}
\index{INCREMENT\_\-POPULATION@{INCREMENT\_\-POPULATION}!NFcore::TransformationFactory@{NFcore::TransformationFactory}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const unsigned int {\bf NFcore::TransformationFactory::INCREMENT\_\-POPULATION} = 9\hspace{0.3cm}{\tt  [static]}}\label{classNFcore_1_1TransformationFactory_fe90e7c56cc555fc34fc33f5a1625672}


Indicates a population increment transform \index{NFcore::TransformationFactory@{NFcore::TransformationFactory}!DECREMENT\_\-POPULATION@{DECREMENT\_\-POPULATION}}
\index{DECREMENT\_\-POPULATION@{DECREMENT\_\-POPULATION}!NFcore::TransformationFactory@{NFcore::TransformationFactory}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const unsigned int {\bf NFcore::TransformationFactory::DECREMENT\_\-POPULATION} = 10\hspace{0.3cm}{\tt  [static]}}\label{classNFcore_1_1TransformationFactory_082fd8c6064a34272676df0595f4735b}


Indicates a population decrement transform 

The documentation for this class was generated from the following files:\begin{CompactItemize}
\item 
/home/msneddon/eclipse/galileoSR1\_\-cpp/workspace/NFsim/src/NFreactions/transformations/{\bf transformation.hh}\item 
/home/msneddon/eclipse/galileoSR1\_\-cpp/workspace/NFsim/src/NFreactions/transformations/{\bf transformation.cpp}\end{CompactItemize}
